Signal Processing Apparatus and Method

ABSTRACT

A signal processing apparatus ( 200 ) comprises a plurality of receive antennas ( 216   a - m ) arranged to receive a composite signal containing a plurality of transmitted symbols. A joint detector-decoder ( 218 ) iteratively enumerates most probable symbols received at the receive antennas ( 216   am ) using an enumeration constraint. A processor ( 220 ) determines a bit stream corresponding to each most probable received symbol. A method of signal processing for MIMO systems is also disclosed

This invention relates to a signal processing apparatus and a method of signal processing. More particularly, but not exclusively, the invention relates to a signal processing apparatus and method of signal processing for use in multiple input multiple output (MIMO) antenna architecture.

Current iterative processing techniques allow wireless telecommunications data transmission rates for links between single antenna transceivers that approach the Shannon data capacity limit, for a single input single output (SISO) system. The Shannon data capacity limit is given by:

C=W log₂ (1+S/N) bit/s

Where: C is the channel capacity W is the channel bandwidth in Hz S/N is the signal-to-noise power ratio.

The concept of spatial multiplexing allows the realisation of enormous data transmission rates when multiple transmit and receive antennas are employed. For a given average signal-to-noise ratio (SNR) per receive antenna, or total transmit power, the theoretical MIMO capacity increases linearly with the number of transmit or receive antennas, whichever is the smaller, at high SNR values. Therefore, it is desirable to implement systems with large MIMO configurations, for example four or more transmit antennas (Tx) and four or more receive antennas (Rx), or more. These large MIMO configurations are typically integrated with iterative processing in order to provide reliable transmission of data at high spectral efficiencies, an example of such a prior art MIMO architecture combined with iterative decoding is shown in FIG. 1.

One problem associated with large MIMO architectures is a high computational burden that is imposed upon them by the execution of Log Likelihood Ratio (LLR) calculations at a front end of an iterative decoder on the receive side of the MIMO architecture. This is due to the LLR calculations having to account for every possible candidate symbol across every transmit antenna. These calculations require marginal probabilities to be obtained by summing over all symbol probabilities to obtain bit LLR values. The number of these calculations grows exponentially with the number of transmit antennas and the modulation level. The number of calculations that must be executed to obtain LLR value could be thousands, tens of thousands or even up to millions per second.

According to a first aspect of the present invention there is provided a signal processing apparatus comprising a plurality of receiving means arranged to receive a composite signal indicative of a plurality of symbols transmitted, substantially simultaneously, from a plurality of remote transmission means, and processing means arranged to iteratively decode each most probable symbol contained in said composite signal, within a constrained enumeration formalism.

The processing means may be arranged to define an enumeration constraint for use in the constrained enumeration formalism.

The use of an enumeration constraint in such an apparatus reduces the computational load required to determine the bit stream when compared to prior art arrangements. This either frees up processing power for other applications or allows a reduced computational and/or electrical power, cheaper processor to be used in determining this bit stream. The reduction in the computational load also increases battery life in portable equipment, as the processor need not be operated as frequently in prior art arrangements.

The processing means may be arranged to perform a QR decomposition upon a channel gain matrix. The enumeration constraint may be a number of entries in an R matrix over which probable symbols are enumerated. This establishes a small area within an R matrix for symbol enumeration rather than using a whole channel gain matrix, thus limiting the size of a list of possible candidate symbols. The enumeration constraint may be of constant dimension.

The processing means may be arranged to determine the most probable symbol by enumerating across all symbol conditional probabilities for each possible symbol.

The processing means may be arranged to convert symbol conditional probability to a bit level, or a symbol level, logarithmic likelihood ratio (LLR).

The apparatus may include a parallel to serial conversion means arranged to convert parallel, bit level, LLR's into a single stream of LLR's.

The apparatus may include a deinterleaving means arranged to deinterleave, bit level, LLR's from the single stream of LLR's. This improves data channel performance as it improves the assumption of independent transmitted bits.

The apparatus may include decoding means arranged to apply iterative soft input soft output (SISO) decoding single bit LLR's to determine a symbol. The SISO decoding may be a Maximum-A-Posteriori (MAP) technique or it may be a Low Density Parity Check (LDPC) technique.

The decoding means may be arranged to pass a symbol, or bit, probability to the processor for inclusion in an iterative enumeration step.

The apparatus may include a hard decision unit that is arranged to determine a symbol based upon a soft output from the decoding means.

According to a second aspect of the present invention there is provided a method of signal processing for a MIMO system comprising the steps of:

-   i) receiving a composite signal indicative of a plurality of     symbols; -   ii) performing a QR decomposition upon a channel gain matrix for the     composite signal; -   iii) defining an enumeration constraint; -   iv) calculating possible conditional probabilities for one of the     plurality of symbols contained within the composite signal, using     the enumeration constraint; and -   v) iterating step iv), incorporating a most probable symbol for the     one symbol determined in the previous iteration of step iv) in the     conditional probability calculation operation.

The method may include setting the enumeration constraint to encompass a sub-set of possible transmit antennas.

The method may include defining the enumeration constraint as a number of elements within an R matrix, for example an enumeration sub-matrix within the R matrix.

The method may include calculating a symbol conditional probability in order to determine the most probable symbol transmitted by a given transmit antenna. The method may include converting a symbol conditional probability to a bit level logarithm likelihood ratio (LLR). The method may include calculating a symbol conditional probability in order to determine the most probable symbol received over a given transmission channel.

The method may include converting a plurality of parallel streams of bit level LLR's to a serial stream of bit level LLR's.

The method may include deinterleaving bit level LLR's from the serial stream of bit level LLR's.

The method may include decoding the single bit LLR's, typically using a soft input soft output (SISO) technique, such as for example, a Maximum-A-Posteriori (MAP) technique or a Low Density Parity Check (LDPC) technique.

The method may include making a hard determination of a received symbol based upon a soft output from the decoding step.

According to a third aspect of the present invention there is provided a method of reducing the computational load of a signal processor in MIMO architectures comprising the steps of:

-   i) receiving composite input signals having spatial diversity from     each of a set of n receiver elements; -   ii) constructing an n by m channel matrix from values indicative of     channel gains between each transmit and receive element; -   iii) executing a QR decomposition upon the channel matrix to form an     upper triangular R matrix and a unitary Q matrix; -   iv) enumerating to determine probabilities of a given symbol being     transmitted from a given transmitter using a constrained data     sub-set of the triangular matrix; and -   v) making a hard decision about which possible symbol is the most     probable symbol to have been transmitted so as to reduce the number     of enumerations required to carry out a further probability     calculation.

The method may include using sub-optimally determined symbol values to generate final definite symbol values.

The method may include using the most probable determined symbol to generate a final hard symbol value.

According to a fourth aspect of the present invention there is provided a computer readable medium having therein instructions for causing a processing unit to execute the method of either of the second or third aspects of the present invention.

The invention will now be described, by way of example only, with reference to the accompanying drawings, in which:

FIG. 1 is a schematic representation of a MIMO architecture of the prior art;

FIG. 1 a is an idealised representation of a constellation diagram for 16 QAM;

FIG. 1 b is a representation of a the constellation diagram for 16 QAM between a transmitter and receiver with a complex channel gain;

FIG. 2 is a schematic representation of an embodiment of a MIMO architecture in accordance with an aspect of the present invention;

FIG. 3 is a schematic representation of components a joint detect-decode unit of FIG. 2;

FIG. 4 a is a schematic representation of an initial step of enumeration across possible symbols sent from transmit antennas 3 and 4 of a four transmit antenna, four receive antenna MIMO architecture;

FIG. 4 b is a schematic representation of a step of enumeration, subsequent to that of FIG. 4 a, across possible symbols sent from transmit antennas 2 and 3 of the four transmit antenna, four receive antenna MIMO architecture;

FIG. 4 c is a schematic representation of a final step of enumeration across possible symbols sent from transmit antennas 1 and 2 of the four transmit antenna, four receive antenna MIMO architecture; and

FIG. 5 is a flow diagram detailing a method of signal processing in accordance with an aspect of the present invention.

Referring now to FIG. 1, a typical MIMO architecture 100 comprises a transmission device 102 and a reception device 104.

The transmission device 102 comprises an encoder 105, an interleaver 106, a serial to parallel converter 108 and mappers 110 a-d, each mapper 110 a-d having a corresponding transmit antenna 112 a-d.

The encoder 105 channel codes source data using, for example Parallel Concatenated Convolutional Codes (PCCC), Serial Convolutional Codes (SCC) or Low Density Parity Checks (LDPC). The channel coded source data is then interleaved by the interleaver and divided into m parallel, independent data steams at the serial to parallel converter 108, in this example four data steams. The four parallel, independent data streams are converted to complex symbols having a plurality of bits, typically, according to Gray coded constellation mapping, by the mappers 110 a-d. Thus, this transmission strategy incorporates Bit Interleaved Coded Modulation (BICM). An individual complex symbol is transmitted, simultaneously, by each of the transmit antennas 112 a-d.

The transmitted signals pass across independent complex Gaussian distributed channels, typically in a rich scattering environment containing multiple, randomly arranged scatterers that may be stationary or mobile, to the reception device 104.

The reception device 104 comprises n, in this instance four but it could be more, or less, than four, receive antennas 114 a-d, channel state information (CSI) estimators 116 a-d and a demapper 118. The reception device also includes a parallel to serial converter 120, a deinterleaver 122 and a decoder 123.

Each receive antenna receives all of the symbols simultaneously transmitted from the transmit antennas via a MIMO channel. Thus each of the receive antennas 114 a-d receives a composite signal containing superposed weighted components of each of the transmitted symbols. The specific weighting of each of the symbols is given by a channel gain value for the channel between a given transmit antennas and a given receive antenna.

If the individual channels between each given transmit antenna and each receive antenna is different each receive antenna will receive a different composite signal. It is this spatial diversity upon receive that allows a symbol determination to be achieved.

In order to determine what symbols were transmitted across the channels prior art systems determine the probability of a given symbol being transmitted from a given transmit antenna by marginalising the other transmitted symbols.

Consider the case of a four transmit antenna, for four receive antenna MIMO system transmitting 16-QAM (Quadrature Amplitude Modulation) symbols, i.e. symbols from a set of 16 possible symbols. In order to marginalise three of the transmitted symbols it is necessary to cycle through the set of sixteen possible symbol values for each of the three transmitted symbols, as shown below. This requires 16³ probability calculations to be executed in order to determine the marginal probability of a transmitted symbol, C_(j) being a specific value, S_(p). This process must be repeated for the given symbol having each of the sixteen possible symbol values leading to a total computational load of 16⁴ probability calculations.

$P_{({C_{j} = S_{p}})} = {\sum\limits_{{C:C_{j}} = {S_{p} = 1}}\; {P\left\lbrack {{Y_{1}Y_{2}Y_{3}Y_{4}}{C_{1}C_{2}C_{3}C_{4}}} \right\rbrack}}$ S_(p) ∈ {S₁, S₂, …  S₁₆}

P(C₌₁=S₁) is only concerned with probability of the symbol, S₁, having been transmitted from transmit antenna 1, it is not concerned the symbols transmitted from the other three antennas of the systems.

In order to calculate the probability of symbol S, having been received it is necessary to marginalise out the probabilities of the contributions from the other three transmitted symbols. This is achieved by summing the probabilites of all possible combinations of the other three transmitted symbols whilst holding C₁=S₁:

$\begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} {P\left\lbrack {Y_{1},Y_{2},Y_{3},{Y_{4}S_{1}},S_{1},S_{1},S_{1}} \right\rbrack} \\ \vdots \end{matrix} \\ {P\left\lbrack {Y_{1},Y_{2},Y_{3},{Y_{4}S_{1}},S_{1},S_{1},S_{16}} \right\rbrack} \\ {P\left\lbrack {Y_{1},Y_{2},Y_{3},{Y_{4}S_{1}},S_{1},S_{2},S_{1}} \right\rbrack} \end{matrix} \\ \vdots \end{matrix} \\ {P\left\lbrack {Y_{1},Y_{2},Y_{3},{Y_{4}S_{1}},S_{16},S_{16},S_{16}} \right\rbrack} \end{matrix}\quad$

This must now be repeated to calculate the marginal probabilities for C₁=S₂ to S₁₆ in order that all symbol probabilities are calculated. The SISO operates at bit level LLR values and therefore conversion from symbol probabilities to bit level LLR values is required.

An example of a LLR calculation for a single bit is:

${L\; L\; {R\left( b_{l} \right)}} = {{\log \left\lbrack \frac{P\; {r\left( {b_{l} = 1} \right)}}{P\; {r\left( {b_{l} = 0} \right)}} \right\rbrack}\mspace{14mu} {for}\mspace{14mu} a\mspace{14mu} {single}\mspace{14mu} {bit}}$

Where Pr (b₁=1) is the probability of a given bit, b₁ having a value 1 Pr (b₁=0) is the probability of a given bit, b₁ having a value 0 Thus when Pr (b₁=1)=1 and Pr (b₁=0)=0 LLR (b₁)→+∞ Similarly when Pr (b₁=1)=0 and Pr (b₁=0)=1 LLR (b₁)→+∞ And when Pr (b₁=1)=Pr (b₁=0)=½ LLR (b₁)→0

In the general case for symbols, the probability of a symbol transmitted from a given antenna, j_(th), being one of a set of transmitted symbols, C at the given transmit antenna, j, where 1≦j≦m and S_(p) ε{S₁,S₂, . . . , S₂ _(M) _(c)}.

The sum of conditional probabilities, conditioned on the transmitted symbols, summed over all possible transmitted symbol combinations from all other transmit antennas is given by:

${\Psi \left( {C_{j} = S_{p}} \right)} = {\sum\limits_{{C:C_{j}} = S_{p}}\; {P\left\lbrack {YC} \right\rbrack}}$

The whole process must be repeated for C₂, C₃ and C₄ thus leading to a very computationally intensive process for the determination of received symbols.

Once the codewords, C₁, C₂, C₃, C₄, have been determined they are compared to codewords in a codebook, typically a look up table, in order to determine what bit sequence each of them correspond to, and this bit sequence is output from the receive unit.

However, considering the case of 16 QAM, and idealised received codeword constellation diagram consisting of all possible 16 symbols (S1-S16) in 16 QAM is show in FIG. 1 a. In the case of a hard decision making system where symbol S7 was transmitted, systems noise, for example Johnson noise or shot noise within the receiver, can cause the received signal to deviate from the constellation ordinate corresponding to symbol S7 towards, for example, the ordinate corresponding to symbol S3. When such deviation is small a correct hard decision, that the transmitted symbol is symbol S7 is made. However, when such deviation is sufficiently large an incorrect hard decision is made that the transmitted symbol is symbol S3 rather than symbol S7. This is because there is a higher probability that the transmitted symbol is symbol S3 rather than symbol S7 in this case as shown by the received symbol lying closer to symbol S3 than symbol S7 in the constellation diagrams. Such incorrect determinations of a symbol clearly leads to an error in the bit streams output from the receive unit.

In the case of a soft decision systems an incorrect codeword may still be determined based upon the basis of a higher calculated marginal probability however, the determined codewords are compared to allowable sequences of codewords prior to conversion to output bits. This comparison allows non-allowable codeword sequences to be reviewed and errors to be corrected before conversions to an output bit level data stream.

In the physical case, each receive antenna will have an independent distorted symbol constellation for symbols received from a given transmit antenna as the channel between transmit and receive antennas is independent, see for example FIG. 1 b. The effect of additive, white Gaussian noise, for example shot noise and Johnson noise, is to cause time varying random variations in the location of received signals (S₁-S₁₆) away from the ideal symbol location within a constellation. A function of Gaussian noise is that the mean of the distribution is the mean, thus the mean locations of the time varying received signal within the constellation is the actual locations of the transmitted symbol. A further feature of this noise is that it is symmetric about its mean point and is also independent of the receive antennas.

As the statistical processes, i.e. the additive Gaussian white noise, that cause the deviation of the received symbol away from its ideal constellation position are independent of each other the probabilities of a given signal being transmitted from a given transmit antenna, and received at the receive antennas can be multiplied in order to yield a joint probability of a given set of signals being transmitted and received across all receive antennas, as follows:

$P_{({C_{j} = S_{p}})} = {\sum\limits_{{C:C_{j}} = S_{p}}\; {{P\left\lbrack {Y_{1}\underset{\_}{C}} \right\rbrack}{P\left\lbrack {Y_{2}\underset{\_}{C}} \right\rbrack}{P\left\lbrack {Y_{3}\underset{\_}{C}} \right\rbrack}{P\left\lbrack {Y_{4}\underset{\_}{C}} \right\rbrack}}}$ S_(p) ∈ {S₁, S₂, …  S₁₆}

Using current techniques it is still necessary to enumerate through all possible 16⁴ values of C for each receiver as any variation in C causes a change in the mean received symbols at each receive antenna.

Referring now to FIGS. 2 and 3, a MIMO architecture 200, of at least an aspect of the present invention, comprises a transmission device 202 and a reception device 204. The transmission device 202 is substantially similar to that described in relation to FIG. 1 and similar parts are accorded similar reference numerals in the two hundred series.

Typically, signals transmitted from the transmission device 202 are transmitted across a scatter rich transmission environment 215, which introduces spatial diversity upon receive into the signal received at the reception device 204.

The reception device 204 comprises a four of receive antennas 214 a-d, channel state information (CSI) estimators 216 a-d, a combined joint detector-decoder 218 and a hard decision making device 220, a slicer.

The receive antennas 214 a-d are arranged to receive the signals transmitted from the transmit antennas 212 a-d. The signals are passed to the joint detector-decoder unit 218 where statistics, usually in the form of a log likelihood ratio (LLR), are calculated to produce a likelihood of a particular symbol being present at a given point in a data stream, as will be described hereinafter. The statistics are passed to the hard decision making device 220 where they are processed to make a hard decision as to which symbols are present within the data stream from a set of possible transmitted symbols.

The joint detector-decoder unit 218 comprises a QR decomposition unit 221, which receives inputs from the receive antennas 214 a-d and also channel state information (CSI) 222 from the CSI estimators 216 a-d, a symbol probability processor 224, a symbol to bit LLR converter 225, a parallel to serial converter 226, a deinterleaver 228 and a SISO decoder 230.

The operation of the QR decomposition unit 221 is described immediately hereinafter.

A MIMO data channel can be represented by:

Y = H C + η ${{Where}\mspace{14mu} H} = \begin{bmatrix} H_{11} & H_{12} & H_{13} & H_{14} \\ H_{21} & H_{22} & H_{23} & H_{24} \\ . & . & . & . \\ . & . & . & H_{44} \end{bmatrix}$

for a four transmit antenna, four receive antenna system.

$\begin{bmatrix} Y_{1} \\ Y_{2} \\ Y_{3} \\ Y_{4} \end{bmatrix} = {\begin{bmatrix} H_{11} & H_{12} & H_{13} & H_{14} \\ H_{21} & H_{22} & H_{23} & H_{24} \\ . & . & . & . \\ . & . & . & H_{44} \end{bmatrix}\begin{bmatrix} C_{1} \\ C_{2} \\ C_{3} \\ C_{4} \end{bmatrix}}$

where:

Y₁, Y₂, Y₃ and Y₄ are the received signals in a composite signal received at the four receive antennas.

For the general case Y₁ is the receiving signal at receive antenna i where 1≦i≦n and n is the number of receive antennas.

C is constructed from a matrix of mM_(c) bits, where m is the number of transmit antennas and M_(c) is the number of bits per symbol. For example, for 16 quadrature amplitude modulation (16-QAM) M_(c)=4.

The matrix C for the four transmitter 16-QAM case is given by C,

$b = \begin{bmatrix} b_{11} & b_{12} & b_{13} & b_{14} \\ b_{21} & b_{22} & b_{23} & b_{24} \\ b_{31} & b_{32} & b_{33} & b_{34} \\ b_{41} & b_{42} & b_{43} & b_{44} \end{bmatrix}$ C = map  (b) = [C₁C₂  …  C_(M)]

C₁ to C_(M) are transmitted symbols

η is a column vector of complex additive white Gaussian noise (AWGN) samples taken from a Gaussian distribution with zero means and variance per dimension, σ² and is a function that is representative of noise within the system, both general thermal noise and component noise.

The channel gain matrix, H, can be described by an orthogonal matrix, Q, and a matrix, R, having an upper triangular structure, subject to the channel gain matrix being a full rank matrix, therefore, there is sufficient diversity within the channels. Such a description of the channel gain matrix is called a QR decomposition of the channel gain matrix.

$\begin{bmatrix} H_{11} & H_{12} & H_{13} & H_{14} \\ H_{21} & H_{22} & H_{23} & H_{24} \\ \ldots & \ldots & \ldots & \cdots \\ \ldots & \ldots & \ldots & H_{44} \end{bmatrix} = {\begin{bmatrix} Q_{11} & Q_{12} & Q_{13} & Q_{14} \\ \ldots & \; & \; & \vdots \\ \; & \ldots & \; & \vdots \\ \; & \; & \ldots & Q_{44} \end{bmatrix}\begin{bmatrix} R_{11} & R_{12} & R_{13} & R_{14} \\ 0 & R_{22} & R_{23} & R_{24} \\ 0 & 0 & R_{33} & R_{34} \\ 0 & 0 & 0 & R_{44} \end{bmatrix}}$

As Q is orthogonal Q^(τ)Q=I as Q^(τ)=Q⁻¹

$\begin{matrix} {{Q^{- 1} \cdot H} = R} \\ {Y = {{H\; C} + \eta}} \\ {= {{Q\; R\; C} + \eta}} \end{matrix}$

therefore Q⁻¹Y=RC+Q⁻¹η

Both Q⁻¹ and R are fixed, and R has fewer non-zero elements when compared to H as the lower left hand side of R is zeros.

Q ⁻¹ Y={tilde over (Y)}=RC+{tilde over (η)}

It should be noted that the statistics of the noise vector, η, are invariant under the transformation of Q⁻¹ due to their being circularly symmetric.

In the general case and accounting for any previous decision made relating to transmitted symbol values the marginalised, conditional symbol probabilities are given by:.

${{\overset{\sim}{\Psi}\left( {C_{j} = C_{p}} \right)} = {\frac{1}{\left( \sqrt{2\; \pi \; \sigma^{2}} \right)}{\sum\limits_{{\overset{\sim}{C}:C_{j}} = S_{p}}\; {\prod\limits_{i = {x + 1 - {E\; c}}}^{x}{\exp\left( {- \frac{\begin{matrix} {{\overset{\_}{Y}}_{i} - {\sum\limits_{i = {x + 1 - {E\; c}}}^{x}\; {R_{i,k}C_{k}}} -} \\ {\sum\limits_{l = {x + 1}}^{m}\; {R_{i,l}{\hat{C}}_{l}}} \end{matrix}}{2\; \sigma^{2}}} \right)}}}}}\;$

where E_(c)≦x≦m with the constraint E_(c) limiting the vector C to C=[C₂₊₁−_(Ec), C_(x+2)−_(Ec), . . . , C_(x)]

The third term of the numerator

${\sum\limits_{l = {x + 1}}^{m}\; {R_{i,l}{\hat{C}}_{l}}},$

is not included in an initial decision for Ĉ_(m), based upon Ψ (C_(j,p)) as this term describes interference cancellation based upon previously made symbol decisions.

As {tilde over (Y)} is distributed by {tilde over (η)} in the same way as Y is by η. Y can be described as follows:

$\begin{bmatrix} {\overset{\sim}{Y}}_{1} \\ {\overset{\sim}{Y}}_{2} \\ {\overset{\sim}{Y}}_{3} \\ {\overset{\sim}{Y}}_{4} \end{bmatrix} = {{\begin{bmatrix} R_{11} & R_{12} & R_{13} & R_{14} \\ 0 & R_{22} & R_{23} & R_{24} \\ 0 & 0 & R_{33} & R_{34} \\ 0 & 0 & 0 & R_{44} \end{bmatrix}\begin{bmatrix} C_{1} \\ C_{2} \\ C_{3} \\ C_{4} \end{bmatrix}} + \overset{\sim}{\eta}}$

As can be seen from the above {tilde over (Y)}₄ is dependent only upon the matrix element R₄₄. Thus, using the above arrangement it is possible to determine the most probable symbol, S_(p), by enumerating only through, in the case of 16 QAM, the sixteen possibilities for the value of C₄. Whilst this is theoretically possible it would only be acceptable when the signal to noise ratio is very high. This is because if the mean value of a specific channel gain, in this case represented by R₄₄, is small the effect of noise in disrupting the channel will be significant.

It is usual to enumerate through the possible symbols over two channels, for example {tilde over (Y)}₃ and {tilde over (Y)}₄ in order to ensure that there is sufficient diversity within the enumerated channels so as to reduce the possibility of all three channel gains enumerated being small enough to be affected by noise. This arrangement reduces the complexity of determining transmitted symbols as, in the example discussed above, C₁ and C₂ are not required to determine C₃ and C₄.

Referring now to FIG. 4 a, in the example shown below there are assumed to be four transmit antennas, m, and four receive antennas, n, and an enumeration constraint 401, E_(c), of two, i.e. only two symbols are considered for determination at any one time.

The conditional symbol probability including Gaussian noise, is given by:

${P\left( {C_{4} = S_{p}} \right)} \propto {\frac{1}{\left( \sqrt{2\; \pi \; \sigma^{2}} \right)^{E_{c}}}{\sum\limits_{{\overset{\sim}{C}:C_{4}} = S_{p}}\; {\prod\limits_{i = 3}^{4}\; {\exp\left( {- \frac{{{{\overset{\sim}{Y}}_{i} - {\sum\limits_{k = 3}^{4}\; {R_{i,k}C_{k}}}}}^{2}}{2\; \sigma^{2}}} \right)}}}}$

when this calculation is dependent solely upon transmit and receive antennas 3 and 4.

Now C is limited to {tilde over (C)}=[C₃,C₄], as shown in FIG. 4 a, the upper right-hand side of the matrix R contains the channel information values, represented as squares 402 in FIG. 4 a and the lower left-hand side represents null, zero 404, values of the matrix.

The symbol with the highest conditional probability is selected by the symbol probability processor 224 as an estimated transmitted symbol transmitted from transmit antenna 4 and is given by:

Ĉ ₄ ^(=argMaxP)(C ₄ =S _(p))

S_(p)ε{C₁C₂. . . C_(2M.)}

In effect the joint probability calculation is simplified to:

$P_{({C_{j} = S_{p}})} = {\sum\limits_{{C:C_{j}} = S_{p}}\; {{P\left\lbrack {Y_{3}\underset{\_}{C}} \right\rbrack}{P\left\lbrack {Y_{4}\underset{\_}{C}} \right\rbrack}}}$ S_(p) ∈ {S₁, S₂, …  S₁₆}

by the exclusion of C₁ and C₂ from consideration.

Once C₄ is determined as S_(n) this value can be fixed for all subsequent calculations as this merely affects the mean value of subsequent calculations:

$\begin{bmatrix} {\overset{\sim}{Y}}_{1} \\ {\overset{\sim}{Y}}_{2} \\ {\overset{\sim}{Y}}_{3} \\ {\overset{\sim}{Y}}_{4} \end{bmatrix} = {\begin{bmatrix} R_{11} & R_{12} & R_{13} & R_{14} \\ 0 & R_{22} & R_{23} & R_{24} \\ 0 & 0 & R_{33} & R_{34} \\ 0 & 0 & 0 & R_{44} \end{bmatrix}\begin{bmatrix} C_{1} \\ C_{2} \\ C_{3} \\ S_{n} \end{bmatrix}}$

In an alternative computational scheme the fourth column of R is multiplied by S_(n) and subtracted from {tilde over (Y)} thereby removing the effect of the previously determined from {tilde over (Y)}.

The effect of fixing C₄=S_(n) is shown in FIG. 4 b wherein the marginal, conditional probability of any given symbol being transmitted from transmitter 3 is then calculated according to:

${P\left( {C_{3} = S_{p}} \right)} \propto {\sum\limits_{{\overset{\sim}{C}:C_{3}} = S_{p}}\; {\prod\limits_{i = 2}^{3}\; {\exp\left( {- \frac{{\begin{matrix} {{\overset{\sim}{Y}}_{i} - {\sum\limits_{k = 2}^{3}\; {R_{i,k}C_{k}}} -} \\ {R_{4,4}{\hat{C}}_{4}} \end{matrix}}^{2}}{2\; \sigma^{2}}} \right)}}}$

As can be seen this conditional symbol probability calculation takes into account the previous symbol estimate made for Ĉ₄ and transmit and receive antennas 2 and 3 are considered for this calculation. The third term in the numerator cancels out the interference from transmit antenna 4, shown in FIG. 4 b as a solid square 406.

A soft decision is now made for the symbol transmitted from transmit antenna 3 based upon the conditional probability of the most likely symbol to have been transmitted, Ĉ_(j) where j=3, in a similar manner as that for the symbol transmitted from antenna 4 as described hereinbefore.

Referring now to FIG. 4 c conditional probabilities of the symbols transmitted by transmit antennas 1 and 2 to receive antennas 1 and 2 are now calculated

${P\left( {C_{j} = S_{p}} \right)} \propto {\sum\limits_{{\overset{\sim}{C}:C_{j}} = S_{p}}\; {\prod\limits_{i = 1}^{2}\; {\exp\left( {- \frac{{{{\overset{\sim}{Y}}_{i} - {\sum\limits_{k = 1}^{2}\; {R_{i,k}C_{k}}} - {\sum\limits_{1 = 3}^{4}\; {R_{i,l}{\hat{C}}_{l}}}}}^{2}}{2\; \sigma^{2}}} \right)}}}$

The vector {tilde over (C)}=[C₁,C₂] is used to represent these conditional probabilities. The third term in the numerator cancels out the interference effects from antennas 3 and 4, shown in FIG. 4 c as solid squares 406.

Again the transmitted symbols are estimated as being the symbol with the largest calculated marginal, conditional probability.

The estimated symbols probabilities are converted to conditional bit probabilities at the symbol to bit LLR convertor 225 through the following:

${\overset{\sim}{\Psi}\left( b_{j,f} \right)} = {\underset{{C\; {j:{C\; j}}} = {{map}{({b_{j},_{f}{= {\lbrack{1,0}\rbrack}}})}}}{\sum\overset{\sim}{\Psi}}\; \left( {C\; j} \right)}$

where for 16-QAM:

b₃b₂b₁b₀

P(C₁)=P(0000)

P(C₂)=P(0001)

P(C₃)=P(0010)

P(C₄)=P(0011)

P(C₅)=P(0100)

P(C₆)=P(0101)

P(C₇)=P(0110)

P(C₈)=P(0111)

P(C₉)=P(1000)

P(C₁₀)=P(1001)

P(C₁₁)=P(1010)

P(C₁₂)=P(1011)

P(C₁₃)=P(1100)

P(C₁₄)=P(1101)

P(C₁₅)=P(1110)

P(C₁₆)=P(1111)

Thus

P(b ₀=0)=P(C ₁)+P(C ₃)+P(C ₅)+P(C ₇)+P(C ₉)+P(C ₁₁)+P(C ₁₃)+P(C ₁₅)

P(b ₀=1)=P(C ₂)+P(C ₄)+P(C ₆)+P(C ₈)+P(C ₁₀)+P(C ₁₂)+P(C ₁₄)+P(C ₁₆)

P(b ₁=0)=P(C ₁)+P(C ₂)+P(C ₅)+P(C ₆)+P(C ₉)+P(C ₁₀)+P(C ₁₃)+P(C ₁₄)

P(b ₁=1)=P(C ₃)+P(C ₄)+P(C ₇)+P(C ₈)+P(C ₁₁)+P(C ₁₂)+P(C ₁₅)+P(C ₁₆)

P(b ₂=0)=P(C ₁)+P(C ₂)+P(C ₃)+P(C ₄)+P(C ₉)+P(C ₁₀)+P(C ₁₁)+P(C ₁₂)

P(b ₂=1)=P(C ₅)+P(C ₆)+P(C ₇)+P(C ₈)+P(C ₁₃)+P(C ₁₄)+P(C ₁₅)+P(C ₁₆)

P(b ₃=0)=P(C ₁)+P(C ₂)+P(C ₃)+P(C ₄)+P(C ₅)+P(C ₆)+P(C ₇)+P(C ₈)

P(b ₃=1)=P(C ₉)+P(C ₁₀)+P(C ₁₁)+P(C ₁₂)+P(C ₁₃)+P(C ₁₄)+P(C ₁₅)+P(C ₁₆)

Thus, bit level log likelihood ratios (LLR's) can be given by the natural logarithm:

${\overset{\sim}{\Lambda}\left( {b_{j},f} \right)} = {\log \frac{\overset{\sim}{\Psi}\left( {b_{j,f} = 1} \right)}{{\overset{\sim}{\Psi}\left( b_{j,f} \right)} = 0}}$

The bit level LLR's are fed into the parallel serial converter 226 where they are converted into a single stream and are then passed to the deinterleaver 228 which removes the effect of the interleaver 206 at the transmitter.

The decoder 230 maps iteratively decodes the stream of bit level LLR's as a soft output by use of a soft input soft output (SISO) algorithm, such algorithms include Maximum-A-Posteriori (MAP) or Low Density Parity Check (LDPC) algorithms.

Optionally, information obtained from the decoder 230 at each iteration is fed back into the conditional probability calculations, typically this is symbol probability information. This information is treated as a-priori information which increases the accuracy of the information obtained according to:

${P\left( {C_{j} = S_{p}} \right)} \propto {\sum\limits_{{\overset{\sim}{C}:C_{j}} = S_{p}}\; {\prod\limits_{i = {x + 1 - E_{c}}}^{x}\; {{\exp\left( {- \frac{{\begin{matrix} {{\overset{\sim}{Y}i} - {\sum\limits_{k = {x + 1 - E_{c}}}^{x}\; {R_{i,k}C_{k}}} -} \\ {{\sum\limits_{l = {x + 1}}^{m}\; R_{i}},_{l}{\hat{C}}_{l}} \end{matrix}}^{2}}{2\; \sigma^{2}}} \right)}{\prod\limits_{{s = {x + 1 - {E\; c}}},{s \neq j}}^{m}\; {P_{r}\left\lbrack C_{s} \right\rbrack}}}}}$

After a number of iterations, as few as ten have been shown to yield improvements in performance over prior art systems, final, hard, definitive, bit decisions are based upon the soft output values from the decoder 230.

The method detailed hereinbefore estimates which symbol is most likely to have been transmitted using the Maximum-A-Posteriori (MAP) criteria in which:

${\hat{C}}_{j} = {\arg \; \max \overset{\_}{\Psi}\underset{S_{p} \in {\{{C_{1}C_{2\mspace{14mu}}\ldots \mspace{14mu} C_{2^{M}c}}\}}}{\left( {{C:C_{j}} = S_{p}} \right)P\; r}\left( {{C:C_{j}} = S_{p}} \right)}$

Referring now to FIG. 5, a method of signal processing for a MIMO system comprises defining a QR decomposition of a channel gain matrix and setting an enumeration constraint upon the matrix (Step 500). Conditional symbol probabilities are calculated by enumerating across the desired block of the R matrix, using the enumeration constraint (Step 502). The effect of the symbol having the highest conditional symbol probability within the desired block of the R matrix is cancelled out (Step 504) and the R matrix is traversed with the cancellation process being repeated for each enumeration block (Step 506).

The apparatus and method described hereinbefore reduce the computational complexity of symbol determination by trading diversity upon receive against computational complexity.

Using the MAP criterion to form decisions as in this approach gives a retained diversity order in symbol estimation that is given by the enumeration constraint E_(c).

${\hat{C}}_{j} = {\arg \; \max \; \overset{\sim}{\Psi}\underset{S_{p} \in {\{{C_{1}C_{2}\mspace{14mu} \ldots \mspace{14mu} C_{2\; m\; c}}\}}}{\left( {{C:C_{j}} = S_{p}} \right)P\; r}\left( {{C:C_{j}} = S_{p}} \right)\mspace{14mu} \left( {{MAP}\mspace{14mu} {Criterion}} \right)}$

The constraint E_(c) establishes smaller areas for symbol enumeration instead of using the whole channel matrix. Larger areas lead to a larger list of possible symbol candidates. Computational complexity is maintained within areas of equal size as the matrix is traversed. Enumeration are still related to the modulation mode utilised and is given by:

Γ=(2^(m) ^(c) )^(E) ^(c) ⁻¹

The approach provides a flexible LLR computation, which is not restricted to the number of transmit antennas used in the MIMO architecture but upon a predefined subset of the transmit antennas at the receiver. The use of feedback within the computational scheme results in an improved computational scheme in which detection and decoding are not disjointed. This is of importance as any improvement in detection yields an improvement in decoding results and vice-versa. 

1. A signal processing apparatus comprising a plurality of receiving means arranged to receive a composite signal indicative of a plurality of symbols transmitted, substantially simultaneously, from a plurality of remote transmission means, and processing means arranged to iteratively decode each most probable symbol contained in said composite signal, within a constrained enumeration formalism.
 2. Apparatus according to claim 1 wherein the processing means is arranged to define an enumeration constraint for use in the constrained enumeration formalism.
 3. Apparatus according to claim 1 wherein the processing means is arranged to perform a QR decomposition upon a channel gain matrix.
 4. Apparatus according to claim 3 wherein the enumeration constraint is a number of entries in an R matrix over which probable symbols are enumerated.
 5. Apparatus according to claim 1 wherein the processing means is arranged to determine the most probable symbol by enumerating across all symbol conditional probabilities for each possible symbol.
 6. Apparatus according to claim 5 wherein the processing means is arranged to convert symbol conditional probability to a bit level logarithmic likelihood ratio (LLR).
 7. Apparatus according to claim 1 including a parallel to serial conversion means arranged to convert parallel, bit level, LLR's into a single stream of LLR's.
 8. Apparatus according to claim 7 including a deinterleaving means arranged to deinterleave, bit level, LLR's from the single stream of LLR's.
 9. Apparatus according to claim 1 including decoding means arranged to apply iterative soft input soft output (SISO) decoding to single bit LLR's to determine a symbol.
 10. Apparatus according to claim 9 wherein the decoding means is arranged to pass a symbol probability to the processor for inclusion in an iterative enumeration step.
 11. Apparatus according to claim 9 including a hard decision unit that is arranged to determine a symbol based upon a soft output from the decoding means.
 12. A method of signal processing for a MIMO system comprising the steps of: i) receiving a composite signal indicative of a plurality of symbols; ii) performing a QR decomposition upon a channel gain matrix for the composite signal; iii) defining an enumeration constraint; iv) calculating possible conditional probabilities for one of the plurality of symbols contained within the composite signal, using the enumeration constraint; and v) iterating step iv), incorporating a most probable symbol for the one symbol determined in the previous iteration of step iv) in the conditional probability calculation operation.
 13. A method according to claim 12 including setting the enumeration constraint to encompass a sub-set of possible transmit antennas.
 14. A method according to claim 12 including defining the enumeration constraint as a number of elements within an R matrix.
 15. A method according to claim 12 including calculating a symbol conditional probability in order to determine the most probable symbol received over a given transmission channel.
 16. A method according to claim 15 including converting the symbol conditional probability to bit level logarithm likelihood ration (LLR).
 17. A method according to claim 12 including converting a plurality of parallel streams of bit level LLR's to a serial stream of bit level LLR's.
 18. A method according to claim 17 including deinterleaving bit level LLR's from the serial stream of bit level LLR's.
 19. A method according to claim 16 including decoding the single bit LLR's.
 20. A method according to claim 12 including making a hard determination of a received symbol based upon a soft output from the decoding operation.
 21. A method of reducing the computational load of a signal processor in MIMO architectures comprising the steps of: i) receiving composite input signals having spatial diversity from each of a set of n receiver elements; ii) constructing an n by m channel matrix from values indicative of channel gains between each transmit and receive element; ii) executing a QR decomposition upon the channel matrix to form an upper triangular R matrix and a unitary Q matrix; iii) enumerating to determine probabilities of a given symbol being transmitted from a given transmitter using a constrained data sub-set of the triangular matrix; and iv) making a hard decision about which possible symbol is the most probable symbol to have been transmitted so as to reduce the number of enumerations required to carry out a further probability calculation.
 22. The method of claim 21 including using sub-optimally determined symbol values to generate final definite symbol values.
 23. A computer readable medium having therein instructions for causing a processing unit to execute the method of claim
 12. 24. A computer readable medium having therein instructions for causing a processing unit to execute the method of claim
 21. 